package com.deyuanyun.pic.ctrl.mapper;

import com.deyuanyun.pic.ctrl.controller.dto.EqptCppowerDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeAnodesbedDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeAntiSurgeDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeCpJumperDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeCpPowerDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeCpTestStationDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeDrainageDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeInsedJointDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeReferenceDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RecodeSaalAnodeDTO;
import com.deyuanyun.pic.ctrl.controller.vo.query.EqptQueryVO;
import com.deyuanyun.pic.ctrl.controller.vo.query.OperatorRecordsQueryVO;

import java.util.List;
import java.util.Map;

/**
 *  阴保运行管理---运行记录mapper接口
 *  @author axiao(xj08.dream@gmail.com)
 *  @date 2016-09-18
 *  @version 1.0
 *  Histroy: [修改人][时间][描述]
 */
public interface OperationRecordsMapper {

    /**
     * 根据条件查询阴保电源信息
     * @param eqptQueryVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<EqptCppowerDTO> queryEqptCppowers(EqptQueryVO eqptQueryVO);

    /**
     * 根据条件查询阴保电源运行记录信息
     * @param recordsQueryVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeCpPowerDTO> queryRecodeCppowers(OperatorRecordsQueryVO recordsQueryVO);

    /**
     * 根据条件查询长效参比运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeReferenceDTO> queryRecodeReferences(OperatorRecordsQueryVO recordsBaseVO);


    /**
     * 根据条件查询辅助阳极地床运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeAnodesbedDTO> queryRecodeAnodesbeds(OperatorRecordsQueryVO recordsBaseVO);


    /**
     * 根据条件查询绝缘装置运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeInsedJointDTO> queryRecodeInsedJoints(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 根据条件查询防浪涌保护器运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeAntiSurgeDTO> queryRecodeAntiSurges(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 根据条件查询阴极保护跨接线运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeCpJumperDTO> queryRecodeCpjumpers(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 根据条件查询阴保测试桩运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeCpTestStationDTO> queryRecodeCptestStations(OperatorRecordsQueryVO recordsBaseVO);


    /**
     * 根据条件查询牺牲阳极运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeSaalAnodeDTO> queryRecodeSaalAnodes(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 根据条件查询排流地床运行记录信息
     * @param recordsBaseVO
     * @return
     * @author axiao(xj08.dream@gmail.com)
     * @date 2016-09-18
     */
    public List<RecodeDrainageDTO> queryRecodeDrainages(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 阴极保护站运行数据记录
     * @param recordsBaseVO
     * @return
     * @author lijun
     * @date 2016-10-08
     */
    List<Map<String,Object>> queryCppowerCount(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 统计运行状态所占比
     * @param recordsBaseVO
     * @return
     * @author lijun
     * @date 2016-10-08
     */
    List<Map<String,Object>> queryRunningStatedCount(OperatorRecordsQueryVO recordsBaseVO);

    /**
     * 阴保测试桩折线图
     * @param recordsBaseVO
     * @return
     * @author lijun
     * @date 2016-10-08
     */
    List<Map<String,Object>> queryCptestStationPotentialCount(OperatorRecordsQueryVO recordsBaseVO);



}
